package cn.iocoder.yudao.module.system.controller.admin.warehouse.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

@Data
@Schema(description = "金料调拨-响应")
public class GoldMaterialTransferRespVO {

    @Schema(description = "主键ID", example = "1")
    private Long id;

    @Schema(description = "调拨单号", example = "TR20250118001")
    private String transferNo;

    @Schema(description = "单据类型：1-调拨，2-派发", example = "1")
    private Integer transferType;

    @Schema(description = "调出仓库ID", example = "1")
    private Long fromWarehouseId;

    @Schema(description = "调入仓库ID", example = "2")
    private Long toWarehouseId;

    @Schema(description = "调拨克重", example = "10.500")
    private BigDecimal transferWeight;

    @Schema(description = "调拨原因", example = "生产需要")
    private String transferReason;

    @Schema(description = "状态：0-待确认，1-已确认，2-已拒绝", example = "0")
    private Integer status;

    @Schema(description = "审批人ID", example = "1")
    private Long approverId;

    @Schema(description = "审批时间")
    private LocalDateTime approveTime;

    @Schema(description = "审批备注", example = "同意调拨")
    private String approveRemark;

    @Schema(description = "创建时间")
    private LocalDateTime createTime;

    @Schema(description = "更新时间")
    private LocalDateTime updateTime;

    // 关联信息
    @Schema(description = "调出仓库名称", example = "团队1")
    private String fromWarehouseName;

    @Schema(description = "调入仓库名称", example = "仓库1")
    private String toWarehouseName;

    @Schema(description = "审批人姓名", example = "管理员")
    private String approverName;

    @Schema(description = "创建人姓名", example = "操作员")
    private String creatorName;
    @Schema(description = "附件", example = "111")
    private String attachmentUrl;
    @Schema(description = "操作人", example = "张")
    private String creator;
}
